const db = require('../db/index')



exports.getCates = (req,res)=>{
    // 定义查询分类列表数据的SQL语句
    const sqlStr = `select * from typeinfo where is_delete=0 order by typeId asc`
    db.query(sqlStr,(err,results)=>{
        if(err) return res.cc(err)
        res.send({
            status:0,
            message:'获取分类数据成功',
            data:results
        })
    })
}

exports.getCatesActivity = (req,res)=>{
    // 定义查询分类列表数据的SQL语句
    const sqlStr = `select * from activityinfo,typeinfo where activityinfo.is_delete=0 and typeinfo.is_delete=0 and activityinfo.typeId = typeinfo.typeId order by activityinfo.activityId asc`
    db.query(sqlStr,(err,results)=>{
        if(err) return res.cc(err)
        res.send({
            status:0,
            message:'获取分类数据成功',
            data:results
        })
    })
}



// 新增分类
exports.addCates = (req,res)=>{
    const sqlStr = `select * from typeinfo where typeName=? or typeAlias=?`
    db.query(sqlStr,[req.body.typeName,req.body.typeAlias],(err,results)=>{
        if(err) return res.cc(err)

        if(results.length === 2) return res.cc('分类名称和别名都被占用,请更换后重试')
        if(results.length === 1 && results[0].typeName == req.body.typeName && results[0].typeAlias == req.body.typeAlias){
            return res.cc('分类名称和别名都被占用')
        }
        if(results.length === 1 && results[0].typeName == req.body.typeName) return res.cc('分类名称被占用')
        if(results.length === 1 && results[0].typeAlias == req.body.typeAlias) return res.cc('分类别名被占用')

        // 类型添加
        const sql  = `insert into typeinfo set ?`
        db.query(sql,req.body,(err,results)=>{
            if(err) return res.cc(err)
            if(results.affectedRows !== 1) return res.cc('新增分类失败')
            res.cc('新增分类成功')
        })

    })

    // res.send('ok')
}
// 删除新闻分类
exports.deleteCateById = (req,res)=>{
    const sqlStr = `update typeinfo set is_delete=1 where typeId=?`
    db.query(sqlStr,req.params.typeId,(err,results)=>{
        if(err) return res.cc(err)
        if(results.affectedRows !== 1) return res.cc('删除分类失败')
        res.cc('删除分类成功',0)


    })

}
// 根据ID获取分类
exports.getCateByName = (req,res)=>{
    const sqlStr = 'select * from typeinfo where typeName=?'
    db.query(sqlStr,req.params.typeName,(err,results)=>{
        if(err) return res.cc(err)
        if(results.length !== 1) return res.cc('获取分类失败')
        res.send({
            status:0,
            message:'获取分类数据成功',
            data:results[0]
        })
    })
}

// 根据ID修改分类类型
exports.updateCateById = (req,res)=>{
    const sqlStr = `select * from typeinfo where typeId<>? and (typeName =? or typeAlias=?)`
    db.query(sqlStr,[req.body.typeId,req.body.typeName,req.body.typeAlias],(err,results)=>{
        if(err) return res.cc(err)
        if(results.length === 2) return res.cc('分类名称和别名都被占用,请更换后重试')
        if(results.length === 1 && results[0].typeName == req.body.typeName && results[0].typeAlias == req.body.typeAlias){
            return res.cc('分类名称和别名都被占用')
        }
        if(results.length === 1 && results[0].typeName == req.body.typeName) return res.cc('分类名称被占用')
        if(results.length === 1 && results[0].typeAlias == req.body.typeAlias) return res.cc('分类别名被占用')
       
        const sql = `update typeinfo set ? where typeId =?`
        db.query(sql,[req.body,req.body.typeId],(err,results)=>{
            if(err) return res.cc(err)
            if(results.affectedRows !== 1) return res.cc('更新文章分类失败')
            res.cc('更新文章分类成功')
        })
    })
}